﻿using Crm.Service.Interface;
using CRM.Infrastructure.Attr;
using CRM.Infrastructure.Dto.Request.Org;
using CRM.Infrastructure.Dto.Response;
using CRM.Infrastructure.Dto.Response.Org;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CRM.Service.Interface
{
    [Provider_]
    public interface I_Org_Service
    {
        Task<Api_Response_Dto> Add_Dept(string name, int? lv,string desc);
        Task<Api_Response_Dto> Add_Duty(string? name, int? dlv, string? explain);
        Task<Api_Response_Dto> Add_User(string name, string account, string duty, string dept, string desc,string gender);
        Task<Api_Response_Dto> Get_Del(string id);
        Task<Api_Response_Dto> Get_Dept(string id);
        Task<Api_Response_Dto> Get_Depts(Org_Request_Dto dto);
        Task<Api_Response_Dto> Get_Dept_Users(Org_Request_Dto dto);
        Task<Api_Response_Dto> Get_Details(string id);
        Task<Api_Response_Dto> Get_Duty(Org_Request_Dto org_Request_Dto);
        Task<Api_Response_Dto> Get_duty_xla();
        Task<Api_Response_Dto> Get_DutyDetails(Org_Request_Dto dto);
        Task<Api_Response_Dto> Get_Users(string id);
        Task<Api_Response_Dto> Update_dept(string? id, string? name, int? dlv, string? explain);
        Task<Api_Response_Dto> Update_Duty(string? id, string? name, int? dlv, string? explain, int? isBan);
    }
}
